Media protection technology exists to protect the intellectual property of media. Media protection technology typically includes encryption protection under the term Digital Rights Management (DRM). There are different techniques for implementing DRM. Some techniques include a client device receiving an encrypted media asset and requesting a key from a central server (sometimes referred to as a license server) that can be used to decrypt the encrypted media asset. For example, when requesting to play a protected video, the client device may generate and transmit a challenge to a license server that in turn determines whether the client device is licensed to play that protected video. If the client device is licensed to play that protected video, the license server generates and transmits a response to the client device that includes the key to decrypt the protected video. The client device then decrypts the protected video using the key.
Some DRM techniques also use a secure data path (sometimes called a secure media path or pipeline) that aims to provide an end-to-end protection that includes decryption through a protected output.
Some DRM techniques are implemented in software such that the host CPU (sometimes referred to as a host core) stores the decryption key in global memory and decrypts the media asset in global memory. Since global memory can be accessed by other processes or by other ways (e.g., through use of a sniffer on the memory bus), hackers may access the contents of global memory and may determine the decryption key and/or the decrypted content itself.